﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum АмортизационныеГруппы
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///Все недолговечное имущество со сроком полезного использования от 1 года до 2 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"f28c06ba-6268-4844-bc94-e5b50e1fe486\", \"Представление\":\"ПерваяГруппа\"}")]
		ПерваяГруппа = 0,//Первая группа (от 1 года до 2 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 2 лет до 3 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"0f46c13b-0cd8-4f45-abd3-4a169398280e\", \"Представление\":\"ВтораяГруппа\"}")]
		ВтораяГруппа = 1,//Вторая группа (свыше 2 лет до 3 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 3 лет до 5 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"66c14d3f-1808-4024-8d50-7db509fe6c03\", \"Представление\":\"ТретьяГруппа\"}")]
		ТретьяГруппа = 2,//Третья группа (свыше 3 лет до 5 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 5 лет до 7 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"ebd61302-b582-4d57-abc8-7ec9bb8a4c6a\", \"Представление\":\"ЧетвертаяГруппа\"}")]
		ЧетвертаяГруппа = 3,//Четвертая группа (свыше 5 лет до 7 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 7 лет до 10 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c14d4213-1d44-4304-b45f-489cd9cada13\", \"Представление\":\"ПятаяГруппа\"}")]
		ПятаяГруппа = 4,//Пятая группа (свыше 7 лет до 10 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 10 лет до 15 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"8f800ee2-b8ed-4e87-a2d7-2dbfeb81c672\", \"Представление\":\"ШестаяГруппа\"}")]
		ШестаяГруппа = 5,//Шестая группа (свыше 10 лет до 15 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 15 лет до 20 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"6cc9abf5-4d04-4807-a9b6-c862e1025604\", \"Представление\":\"СедьмаяГруппа\"}")]
		СедьмаяГруппа = 6,//Седьмая группа (свыше 15 лет до 20 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 20 лет до 25 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c2c1feb9-fe0b-4b37-aa8d-d16dc6d83f8c\", \"Представление\":\"ВосьмаяГруппа\"}")]
		ВосьмаяГруппа = 7,//Восьмая группа (свыше 20 лет до 25 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 25 лет до 30 лет включительно
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"754f59ff-3169-4dbe-8230-3d1453d949ce\", \"Представление\":\"ДевятаяГруппа\"}")]
		ДевятаяГруппа = 8,//Девятая группа (свыше 25 лет до 30 лет включительно)
	///<summary>
	///Имущество со сроком полезного использования свыше 30 лет
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"3fc44bef-4b16-44bf-9501-d8d8217fdc4e\", \"Представление\":\"ДесятаяГруппа\"}")]
		ДесятаяГруппа = 9,//Десятая группа (свыше 30 лет)
		[EnumMember(Value = "{\"Ссылка\":\"6c6b13db-f701-42b7-9dec-ff8e41c8753f\", \"Представление\":\"ОтдельнаяГруппа\"}")]
		ОтдельнаяГруппа = 10,//Отдельная группа (п.1, ст.322 НК РФ)
	}
	public static partial class АмортизационныеГруппы_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///Все недолговечное имущество со сроком полезного использования от 1 года до 2 лет включительно
		///</summary>
		public static readonly Guid ПерваяГруппа = new Guid("b5e594bc-1f0e-86e4-4844-6268f28c06ba");//Первая группа (от 1 года до 2 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 2 лет до 3 лет включительно
		///</summary>
		public static readonly Guid ВтораяГруппа = new Guid("164ad3ab-9893-0e28-4f45-0cd80f46c13b");//Вторая группа (свыше 2 лет до 3 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 3 лет до 5 лет включительно
		///</summary>
		public static readonly Guid ТретьяГруппа = new Guid("b57d508d-fe09-036c-4024-180866c14d3f");//Третья группа (свыше 3 лет до 5 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 5 лет до 7 лет включительно
		///</summary>
		public static readonly Guid ЧетвертаяГруппа = new Guid("c97ec8ab-8abb-6a4c-4d57-b582ebd61302");//Четвертая группа (свыше 5 лет до 7 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 7 лет до 10 лет включительно
		///</summary>
		public static readonly Guid ПятаяГруппа = new Guid("9c485fb4-cad9-13da-4304-1d44c14d4213");//Пятая группа (свыше 7 лет до 10 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 10 лет до 15 лет включительно
		///</summary>
		public static readonly Guid ШестаяГруппа = new Guid("bf2dd7a2-81eb-72c6-4e87-b8ed8f800ee2");//Шестая группа (свыше 10 лет до 15 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 15 лет до 20 лет включительно
		///</summary>
		public static readonly Guid СедьмаяГруппа = new Guid("62c8b6a9-02e1-0456-4807-4d046cc9abf5");//Седьмая группа (свыше 15 лет до 20 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 20 лет до 25 лет включительно
		///</summary>
		public static readonly Guid ВосьмаяГруппа = new Guid("6dd18daa-d8c6-8c3f-4b37-fe0bc2c1feb9");//Восьмая группа (свыше 20 лет до 25 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 25 лет до 30 лет включительно
		///</summary>
		public static readonly Guid ДевятаяГруппа = new Guid("143d3082-d953-ce49-4dbe-3169754f59ff");//Девятая группа (свыше 25 лет до 30 лет включительно)
		///<summary>
		///Имущество со сроком полезного использования свыше 30 лет
		///</summary>
		public static readonly Guid ДесятаяГруппа = new Guid("d8d80195-7f21-4edc-44bf-4b163fc44bef");//Десятая группа (свыше 30 лет)
		public static readonly Guid ОтдельнаяГруппа = new Guid("8effec9d-c841-3f75-42b7-f7016c6b13db");//Отдельная группа (п.1, ст.322 НК РФ)
		public static АмортизационныеГруппы Получить(this АмортизационныеГруппы Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static АмортизационныеГруппы Получить(this АмортизационныеГруппы Значение, Guid Ссылка)
		{
			if(Ссылка == ПерваяГруппа)
			{
				return АмортизационныеГруппы.ПерваяГруппа;
			}
			else if(Ссылка == ВтораяГруппа)
			{
				return АмортизационныеГруппы.ВтораяГруппа;
			}
			else if(Ссылка == ТретьяГруппа)
			{
				return АмортизационныеГруппы.ТретьяГруппа;
			}
			else if(Ссылка == ЧетвертаяГруппа)
			{
				return АмортизационныеГруппы.ЧетвертаяГруппа;
			}
			else if(Ссылка == ПятаяГруппа)
			{
				return АмортизационныеГруппы.ПятаяГруппа;
			}
			else if(Ссылка == ШестаяГруппа)
			{
				return АмортизационныеГруппы.ШестаяГруппа;
			}
			else if(Ссылка == СедьмаяГруппа)
			{
				return АмортизационныеГруппы.СедьмаяГруппа;
			}
			else if(Ссылка == ВосьмаяГруппа)
			{
				return АмортизационныеГруппы.ВосьмаяГруппа;
			}
			else if(Ссылка == ДевятаяГруппа)
			{
				return АмортизационныеГруппы.ДевятаяГруппа;
			}
			else if(Ссылка == ДесятаяГруппа)
			{
				return АмортизационныеГруппы.ДесятаяГруппа;
			}
			else if(Ссылка == ОтдельнаяГруппа)
			{
				return АмортизационныеГруппы.ОтдельнаяГруппа;
			}
			return АмортизационныеГруппы.ПустаяСсылка;
		}
		public static byte[] Ключ(this АмортизационныеГруппы Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this АмортизационныеГруппы Значение)
		{
			switch (Значение)
			{
				case АмортизационныеГруппы.ПерваяГруппа: return ПерваяГруппа;
				case АмортизационныеГруппы.ВтораяГруппа: return ВтораяГруппа;
				case АмортизационныеГруппы.ТретьяГруппа: return ТретьяГруппа;
				case АмортизационныеГруппы.ЧетвертаяГруппа: return ЧетвертаяГруппа;
				case АмортизационныеГруппы.ПятаяГруппа: return ПятаяГруппа;
				case АмортизационныеГруппы.ШестаяГруппа: return ШестаяГруппа;
				case АмортизационныеГруппы.СедьмаяГруппа: return СедьмаяГруппа;
				case АмортизационныеГруппы.ВосьмаяГруппа: return ВосьмаяГруппа;
				case АмортизационныеГруппы.ДевятаяГруппа: return ДевятаяГруппа;
				case АмортизационныеГруппы.ДесятаяГруппа: return ДесятаяГруппа;
				case АмортизационныеГруппы.ОтдельнаяГруппа: return ОтдельнаяГруппа;
			}
			return Guid.Empty;
		}
	}
}